1. Field
The present disclosure relates to a method and a system for performing binary image reduction on binary image data.
2. Description of Related Art
Image data comprises a number of pixels. Each pixel corresponds to a defined location in the image. Image data includes various color or gray levels, which contribute to the intensity of each pixel in the image. Each pixel of the image is assigned a number representing the amount of light or gray level for that space at that particular spot; i.e., the shade of gray in the pixel. Binary image data has two possible values for each pixel, black (e.g., represented by the number “1”) or white (e.g., represented by the number “0”). Images that have a large range of shades of grays are referred to as grayscale images. For example, an 8-bit value comprises 256 values or shades of gray for each pixel in the image. Grayscale image data may also be referred to as continuous tone images or contone images.
When image data is provided by a device, such as a scanner, it is provided in a specific size and/or resolution (e.g., 600×600 dots per square inch (dpi)). The image data often goes through a scaling process to change the size of the image—i.e., by changing the number of pixels of image data. Image data may be scaled up—increasing the size of the image data—or scaled down—reducing the size of the image data. Scaling (up or down) is performed for various purposes, such as: reducing the amount of data, decreasing the output file size, converting the resolution to match the requirements for output resolution, etc. For example, to send an image to an image output terminal (IOT) (e.g., a solid ink printing device) of a multifunction product (MFP), it may be desirable or required to rotate the image (e.g., because of the paper orientation or finisher). In order to print image data with dimensions specific to a printing device, the input image data must then be scaled to the output resolution (e.g., dots per square inch (dpi)) or output size to match the number of pixels (or dots) that will be distributed in each section of the paper. For example, an input image may be scanned at a resolution of 600×600 dpi, processed using a number of middle function operations, and then rotated and scaled down from 600×600 dpi to 467×375 dpi for output to a printing device. The scaling and/or resolution conversion operation(s) should be done without sacrificing image quality significantly.
In order to maintain image quality, some known methods for scaling (up or down) image data accomplish resolution conversion and/or reduction by storing and processing grayscale image data. That is, input binary image data is converted to grayscale image data for further processing (e.g., operations such as using a scaling factor on the pixels of image data). Because a large memory is required for storing scanned grayscale data, the above method of processing such can be costly.
If the binary image data is scaled using know scaling methods, then the resulting image may appear grainier than desirable and may also contain other aliasing artifacts or moiré patterns. This appears especially true in images of relatively small amounts of image data that require a small amount of scaling, such as scaling the image data from 600×600 dpi to 450×567 dpi. Thus, the output image quality is lowered. This problem becomes more difficult, for example, when dealing with marking engines that utilize asymmetric resolutions and the image data is binary. With asymmetric resolutions, such as 450×567 dpi, one cannot decide on the paper tray (long-edge feed or short-edge feed) after scanning the image into memory. This feature is often referred to as “late binding” of a paper tray, which is quite useful feature in MFPs. In order to accomplish “late binding” (a very desirable user feature) it is necessary to bring the image in a format that matches the final output size and/or resolution. Thus, the system requires a quality approach to scaling binary image data that is stored in the memory. Alternatively, in order to prevent the loss of quality in the image data that is output to MFPs, one method, for example, disables the late binding of paper tray. However, disabling the late binding of the paper tray is inconvenient for a user.
Some methods accomplish image data scaling by converting the binary image data (1 bit per pixel) to grayscale or contone image data (8 bits per pixel) before scaling. Averaging or linear interpolation scaling algorithms may then be applied to the grayscale or contone image data. In order to convert the image data back to binary, the resulting data may be error diffused, for example. U.S. Pat. Nos. 5,805,304, 6,363,177 and 6,717,770 provide examples of such methods, and are hereby incorporated by reference in their entirety. However, conversion from binary to pseudo gray by remapping may produce a grainy output, and scaling grayscale or contone image data tends to be expensive. Therefore, a binary scaling method that provides a good image quality is needed.